System for generating, distributing and receiving an interactive user interface

ABSTRACT

Method and apparatus for generating, transmitting and receiving a user interface for an interactive information distribution system. The user interface is generated in a head end of the system as a digital bitstream and transmitted to subscriber equipment for display. Operation of the user interface is facilitated by functions on both a local level within the subscriber equipment and on a system level within the head end. One embodiment of the user interface is an interactive program guide.

This application is a continuation of U.S. patent application Ser. No.09/359,559, filed on Jul. 22, 1999, which application (1) claims benefitof U.S. Provisional patent applications Ser. No. 60/093,891, filed Jul.23, 1998, and Ser. No. 60/129,598, filed Apr. 15, 1999, which are herebyincorporated herein by reference in their entirety; (2) is also acontinuation-in-part of U.S. patent application Ser. No. 09/293,526filed Apr. 15, 1999, now U.S. Pat. No. 6,754,905, incorporated herein byreference in its entirety.

BACKGROUND OF THE DISCLOSURE

1. Field of the Invention

The invention relates to communications systems in general and, morespecifically, the invention relates to an interactive user interfacesuitable for use in an interactive multimedia information deliverysystem.

2. Description of the Background Art

Over the past few years, the television industry has seen atransformation in a variety of techniques by which its programming isdistributed to consumers. Cable television systems are doubling or eventripling system bandwidth with the migration to hybrid fiber coax (HFC)cable plant. Customers unwilling to subscribe to local cable systemshave switched in high numbers to direct broadcast satellite (DBS)systems. And, a variety of other approaches have been attempted focusingprimarily on high bandwidth digital technologies, intelligent two wayset top boxes, or other methods of trying to offer servicedifferentiated from standard cable and over the air broadcast systems.

With this increase in bandwidth, the number of programming choices hasalso increased. Leveraging off the availability of more intelligent settop boxes, several companies such as Starsight® and Prevue™ Guide havedeveloped elaborate systems for providing an interactive listing of avast array of channel offerings, expanded textual information aboutindividual programs, the ability to look forward to plan televisionviewing as much as several weeks in advance, and the option ofautomatically programming a VCR to record a future broadcast of atelevision program.

Unfortunately, the existing program guides have several drawbacks. Theytend to require a significant amount of memory, some of them needingupwards of one megabyte of memory at the set top terminal (STT). Theyare very slow to acquire their current database of programminginformation when they are turned on for the first time or aresubsequently restarted (e.g., a large database may be downloaded to aSTT using only a vertical blanking interval (VBI) data insertiontechnique). Disadvantageously, such slow database acquisition may resultin out of date database information or, in the case of a pay per view(PPV) or video on demand (VOD) system, limited scheduling flexibilityfor the information provider. Furthermore, the user interface ofexisting program guides do not usually look like a typical televisioncontrol interface; rather the user interface looks like a 1980's stylecomputer display (i.e., blocky, ill-formed text and/or graphics).

Therefore, it is seen to be desirable to provide an interactive programguide in a manner tending to reduce the above-described problems.

SUMMARY OF THE INVENTION

The invention is an information distribution system comprising a headend wherein a user interface is generated as a digital bitstream, adistribution network for transmitting the user interface to viewers, andsubscriber equipment for receiving the user interface and producing adisplay containing the user interface. The user interface isillustratively embodied in an interactive program guide (IPG).

More specifically, the user interface comprises a graphical region and avideo region. In the illustrative IPG embodiment, the graphical regioncontains a time axis and a channel axis. Certain programminginformation, for example, program titles are aligned with the axes toform a grid-like pattern that enables a viewer to rapidly comprehend theidentity of a program, the time that it is to be broadcast and thechannel upon which the program can be found. The IPG further comprises avideo region that produces a video image and sound for advertisements ofgoods and services, previews of programming, and the like. Additionally,the IPG may contain a text region that displays text related to aselected program or other object in the graphics region. Such text mayinclude a description of the selected program, the duration of theprogram, the actors/actresses in the program, and the like.

The user interfaces may be produced as a plurality of individualinterrelated interfaces that enable the viewer to seamlessly move frominterface to interface.

Selecting various objects within the interface initiates variousinformation distribution sessions referred to herein as “contexts”. Forexample, a user may initiate a video-on-demand (VOD) context byselecting a VOD button. Similarly, the user may initiate a broadcasttelevision session by selecting a program title in the program guidegraphical region of the interface. Or, a preview context may beinitiated if the user selects a program title that is listed as beingavailable in the future.

BRIEF DESCRIPTION OF THE DRAWINGS

The teachings of the present invention can be readily understood byconsidering the following detailed description in conjunction with theaccompanying drawings, in which:

FIG. 1 depicts a block diagram of an illustrative interactiveinformation distribution system that can benefit from the interactiveuser interface of the present invention;

FIG. 2 depicts a block diagram of subscriber equipment suitable for usein an interactive information distribution system;

FIGS. 3A-3C depict a first embodiment of an interactive user interface;

FIG. 4 depicts the first embodiment of the interactive user interfacewhile emphasizing a new time slot;

FIGS. 5A-5C depicts a flow diagram of a process for moving from oneobject to another in the first embodiment of the interactive userinterface;

FIGS. 6A-6C depict a second embodiment of an interactive user interface;

FIGS. 7A-7B depict a flow diagram of a user interaction routine;

FIG. 8 is a third embodiment of an interactive user interface;

FIG. 9 depicts a system stream and its constituent transport streams;

FIG. 10 depicts one example of a program guide layout;

FIG. 11 depicts a second example of a program guide layout; and

FIG. 12 is a table of functional descriptions of keys on an input devicethat can be used to control the system of the present invention.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures.

DETAILED DESCRIPTION

This invention is a system for generating, distributing and receiving aunique user interface that is illustratively embodied in an interactiveprogram guide that enables a user to interactively review, preview andselect programming for a television system.

FIG. 1 illustrates a high-level block diagram of an informationdistribution system 100 that generates an interactive user interface inaccordance with the present invention. The system 100 comprises a headend 102, a distribution network 104, and a user terminal 106 (commonlyreferred to as a set top terminal (STT) or set top box, although theterminal may be embedded into a user's television or other video displayequipment). For simplicity, the diagram shows a single head-end 102 anda single STT 106, while it is possible to combine multiple head-endsystems to provide a desired functionality for the overall system. In apractical application, there are multiple STTs 106 coupled to thenetwork 104 to enable a plurality of users to receive information fromthe head end 102.

The distribution network 104 is generally a high bandwidth, full duplexcommunications network, such as a hybrid fiber-coax network. However,the network 104 may comprise multiple simplex communications channelswhere together the simplex channels provide bi-directionalcommunications between the head end and the STT, e.g., a forward channelcould carry information from the head end to the STT through a cablesystem, while a back channel could carry information from the STT to thehead end via a telephone system.

The head-end 102, which carries the most user interface-relatedprocessing power and storage capability, comprises a user interfacegraphics generation/storage unit 108, video source 110, compositor 112,encoding unit 114, multiplexer 116, video modulator 118, a video sessionmanager (VSM) 120 or multiple VSM's depending on the viewer/subscriberload, and a video server 122. The IPG generation and encoding apparatusis disclosed in further detail within commonly assigned U.S. patentapplication Ser. No. 09/359,561, filed on Jul. 22, 1999, andincorporated herein by reference.

The VSM 120 performs the command and control functionality and operatesas a bridge between the user interface graphics generation/storage unit108 and the STTs (one of which is depicted as STT 106), beingresponsible from the establishment and maintenance of the headend-to-STT communication. Specifically, the VSM controls user interfacetransmission to the STT and controls the response of the system to userrequests that are made through the user interface. As shall be describedin detail below, the user interface that is transmitted as a digitalvideo bitstream can be used to control and request video and otherinformation from the information server 122. The information server 122interacts with the VSM 120 to produce requested information fortransmission to a particular STT 106, to all the STTs or a particularsubset of STTs.

As shall be discussed in detail below, the user interface comprises bothgraphical information and video information under the control of the VSM120. The video information for the user interface is produced by thevideo source 110 (or sources). The graphical information for the userinterface is produced in the user interface graphics generation/storageunit 108. The unit 108 comprises a graphics storage unit 124, a graphicsserver 126 and a graphics formatter 128. The graphics server 126 recallsthe graphics information from the storage unit 124 and has the recalledinformation formatted in the graphics formatter 128 such that thegraphics are in an appropriate format for use in a user interface. Theserver 126 sends a bitmap containing the graphical information for auser interface to the compositor 112.

The compositor combines the graphics with the video to produce acomposite video frame sequence. The frame sequence is then encodedwithin the encoding unit 114. The encoding unit 114 comprises aplurality of real-time MPEG encoders 130 ₁, 130 ₂, . . . 130 _(n) (wheren is an integer). The encoding unit 114 also comprises an audio encoder132 that encodes the audio information associated with the video sourcesignal.

The compositor 112 produces a plurality of frame sequences containinggraphics and video. For example, to produce interrelated userinterfaces, the video is the same in each sequence, but the graphics aredifferent. Each of these sequences is encoded using, for example, areal-time encoder that produces an MPEG compliant bitstream. Each of thebitstreams are coupled to the multiplexer 116 to form one or moretransport streams, for example, MPEG compliant transport streams. Eachof the encoded user interfaces are identified in the transport streamsusing a unique identifier, e.g., a program identifier (PID) code. Assuch, the STT 106 can select a particular user interface for display byselecting the identifier, e.g., selecting a PID. Once encoded andmultiplexed, the transport stream or streams are then coupled to thedigital video modulator 118 (e.g., a quadrature amplitude modulation(QAM) modulator) for transmission through the distribution network 104to the STT 106.

All the encoded bitstreams are temporally aligned in terms of data(i.e., streams depicting different channels or different times arealigned such that stream to stream switching at a decoder may beaccomplished in a substantially seamless manner). In addition, thestreams are generated in a synchronized manner with respect to clocksource, such that GOP structures, sequence headers, I-picture locationand other parameters are (if desired) aligned across a plurality ofinformation streams. In this manner, stream splicing may be performedwithout noticeable video artifacts or audio artifacts, and withoutexcessive latency.

FIG. 9 depicts a diagrammatic representation of a multiple programtransport stream suitable for use in the interactive informationdistribution system of FIG. 1. Specifically, FIG. 9 depicts adiagrammatic representation of a system stream 910 and its constituentmultiple transport streams 920.

The system stream 910 comprises, illustratively, a quadrature amplitudemodulation (QAM) system stream conveyed by a forward channel within theinformation distribution system. Specifically, the system stream 910comprises a plurality of transport streams 920, including transportstreams A-H (911-917). Each of the transport streams include at leastone of video, audio or data elementary streams or packetized elementarystreams (PES). Each elementary stream within the system stream 910 hasassociated with it a unique packet identification (PID) number.

The transport stream 920 comprises an exemplary plurality of elementarystreams associated with a first transport stream 911 (denoted as streamA) and a second transport stream 912 (denoted as stream B).Specifically, first transport stream 911 (i.e., stream A) comprises fiveelementary streams (921-925), each of which has associated with it arespective PID. The five elementary streams (921-925) of stream A areused to provide video, audio and graphics/data information to a set topterminal such that the set top terminal is capable of producing, via adisplay device, an IPG display.

In the exemplary embodiment of the invention, the system stream 910comprises a constant bitrate stream having a bitrate of 3.37125 millionbits per second (Mbps), each video PES has a bitrate of 1.05 Mbps, eachaudio PES has a bitrate of 192 Kbps (44.1 kHz audio) or 224 Kbps (44 kHzaudio) while the remaining bandwidth is utilized by data streams,overhead and the like. It will be appreciated by those skilled in theart that the bitrate of any of these streams may be adapted to, e.g.,provide minimum video and/or audio quality levels, provide maximum videoand/or audio quality levels, to provide for a maximum number of videoand/or audio elementary streams within a transport stream and othersystem design criteria. The exemplary bitrates are only provided to givea sense of the bandwidth utilization of a presently employed systemutilizing the teachings of the invention. The actual bitrates willincrease or decrease as the system is upgraded and the like.

The first video stream (PID 1) comprises all the information necessaryto produce a video layer for the IPG display, including channel contentobjects associated with a first group of channels for a defined timeperiod. The second video stream (PID 2) and third video stream (PID 3)differ from the first video stream (PID 1) in that the second videostream (PID 2) and third video stream (PID 3) comprise the informationnecessary to produce a video layer including second and third groups ofchannels.

The audio stream (PID 4) comprises the audio information necessary toproduce audio associated with video in the IPG.

The data/graphics stream (PID 5) comprises the title descriptioninformation that is displayed as a program description object. That is,data/graphics stream (PID 5) comprises a textual description of eachtitle provided by a first group of channels for each of the displayedtime slots (e.g., three half hour slots). The textual description of thetitles is processed by the graphics processing elements of the STT suchthat the textual description of a presently highlighted or emphasizedtitle of an indicated channel is presented to a viewer via the graphicslayer of the IPG display.

It is important to note that graphics and/or data information may beconveyed to a set top terminal using a data stream associated with aunique PID (as depicted here), as private data within the adaptationheaders of the transports stream packets or by other means (e.g.,encoded within the video data using, e.g., watermarking techniques).Moreover, since the data stream is used to convey program identificationdata or other data that does not need to be provided in real time, suchdata may be used to build a local database of, e.g., favoriteprogramming and the like. However, the favorite programming databasedoes not comprise a program guide database. Rather, the favoriteprogramming database comprises sufficient information to identify thefavorite program or title, illustratively, the transport stream andvideo PID providing the appropriate channel group, an index into thechannel group (e.g., third channel from start), an index into the timeslots (e.g., second time slot) and the like. There is no need to storethe actual title of the program, only to determine which titles shouldbe highlighted or emphasized in a favorite viewing mode.

If the video in each IPG page has differing amounts of motion, theencoders can encode the video in a slice-based manner. As such, eachframe is divided into a plurality of horizontal stripes of macroblocks.Each frame contains stripe start and stop identifiers. The information(pixels and/or macroblocks) between the start and stop identifiers canbe encoded in a different manner than other portions of a given stripe.Consequently, a two dimensional region comprising portions of adjacentstripes can be encoded differently from other portions of the frame. Theencoded information from the two dimensional region forms a bitstreamthat is identified by its own program identifier. At the subscriberequipment, the demodulator/decoder decodes the information in eachslice, then reassembles the frame by placing the decoded slices intoappropriate locations as identified by the slice start/stop identifiers.The two dimensional regions can be specified to align with theinformational video such that the regions can contain video havingdifferent motion, i.e., fast versus slow motion. Consequently, oneregion could contain a slow moving animated character while anotherregion could contain a fast moving sporting event promotion and bothregions would be coded and decoded accurately.

FIG. 2 depicts a block diagram of the STT 106 suitable for use inproducing a display of a user interface in accordance with the presentinvention. The STT 106 comprises a tuner 210, a demodulator 220, atransport demultiplexer 230, an audio decoder 240, a video decoder 250,an on-screen display processor (OSD) 260, a frame store memory 262, avideo compositor 290 and a controller 270. User interaction is providedvia a remote control unit 280. Tuner 210 receives, e.g., a radiofrequency (RF) signal comprising, for example, a plurality of quadratureamplitude modulated (QAM) information signals from a downstream(forward) channel. Tuner 210, in response to a control signal TUNE,tunes a particular one of the QAM information signals to produce anintermediate frequency (IF) information signal. Demodulator 220 receivesand demodulates the intermediate frequency QAM information signal toproduce an information stream, illustratively an MPEG transport stream.The MPEG transport stream is coupled to a transport stream demultiplexer230.

Transport stream demultiplexer 230, in response to a control signal TDproduced by controller 270, demultiplexes (i.e., extracts) an audioinformation stream A and a video information stream V. The audioinformation stream A is coupled to audio decoder 240, which decodes theaudio information stream and presents the decoded audio informationstream to an audio processor (not shown) for subsequent presentation.The video stream V is coupled to the video decoder 250, which decodesthe compressed video stream V to produce an uncompressed video stream VDthat is coupled to the video compositor 290. OSD 260, in response to acontrol signal OSD produced by controller 270, produces a graphicaloverlay signal VOSD that is coupled to the video compositor 290. Duringtransitions between bitstreams representing the user interfaces, abuffer in the decoder is not reset (flushed). As such, the userinterfaces seamlessly transition from one screen to another.

The video compositor 290 merges the graphical overlay signal VOSD andthe uncompressed video stream VD to produce a modified video stream(i.e., the underlying video images with the graphical overlay) that iscoupled to the frame store unit 262. The frame store unit 262 stores themodified video stream on a frame-by-frame basis according to the framerate of the video stream. Frame store unit 262 provides the stored videoframes to a video processor (not shown) for subsequent processing andpresentation on a display device. The frame store unit 262, in responseto a control signal F produce by the controller 270, “freezes” in memory(i.e., does not update) a presently stored video frame such that thevideo information provided to the video process results in a stillimage. This is useful when, e.g., a user interface utilizes scrollinginformation, a telephone number or address is briefly displayed or auser simply wants to view a presently displayed frame for a longerperiod of time.

Controller 270 comprises a microprocessor 272, an input/output module274, a memory 276, an infrared (IR) receiver 275 and support circuitry278. The microprocessor 272 cooperates with conventional supportcircuitry 278 such as power supplies, clock circuits, cache memory andthe like as well as circuits that assist in executing the softwareroutines that are stored in memory 276. The controller 270 also containsinput/output circuitry 274 that forms an interface between thecontroller 270 and the tuner 210, the transport demultiplexer 230, theonscreen display unit 260, the back channel modulator 295, and theremote control unit 280. Although the controller 270 is depicted as ageneral purpose computer that is programmed to perform specificinteractive program guide control function in accordance with thepresent invention, the invention can be implemented in hardware as anapplication specific integrated circuit (ASIC). As such, the processsteps described herein are intended to be broadly interpreted as beingequivalently performed by software, hardware, or a combination thereof.

In the exemplary embodiment of FIG. 2, the remote control unit 280comprises an 8-position joy stick, a numeric pad, a “select” key, a“freeze” key and a “return” key. User manipulations of the joy stick orkeys of the remote control device are transmitted to a controller via aninfra red (IR) link. The controller 270 is responsive to such usermanipulations and executes appropriate user interaction routines 300,uses particular dynamic overlays that are available in a dynamic overlaystorage 276-2 and uses particular static overlays form a static overlaystorage 276-1.

FIGS. 3A-3C depict an illustrative embodiment of a user interface thatcontains program guide information, i.e., the interface forms aninteractive program guide for television systems. This program guide iscreated entirely in the head end of the information distribution systemof FIG. 1 and transmitted to the user's STT for decoding and display. AnOSD graphics layer is either stored in the STT or transmitted with theuser interface to facilitate a mask and reveal function that provides atechnique to emphasize, highlight, mask, or otherwise identify objects(graphical icons and/or text) within the user interface.

Synchronization of objects contained in the user interface with areas ofon-screen emphasis is achieved by using bitmap overlay graphics. Theoverlay graphics are delivered to the STT through in-band data delivery,out-of-band data delivery, vertical blanking interval (VBI) datadelivery or other approaches known to those familiar in the art of datadelivery in broadband networks. That is, data necessary to implementmanipulable screen objects (i.e., those objects that may be selectivelyemphasized) is provided to the STT via one or more techniques.

Since the overlays can be dynamically transmitted to the STT, theinventive user interface does not require the maintenance of televisionprogramming lists in the set top box, it adds a level of interactivityto current broadcast programming guides, it provides a moretelevision-like user experience, and it makes the best economic use ofbandwidth in intricate, asset-rich interactive program guides.

In one embodiment of the invention, multiplexed broadcast analog ordigital video and static, pre-programmed bitmaps are utilized. In thisembodiment, the pre-programmed bitmaps are installed in the STT in,e.g., memory module 276. The bitmaps are x-y grid borders that alignwith x-y grid borders built into the broadcast video streams, and aremodified in color and/or degree of transparency to allow visual emphasisto be associated with a single objects or set of objects.

In another embodiment of the invention, multiplexed broadcast analog ordigital video and dynamic, pre-programmed bitmaps are utilized. In thisembodiment, a variety of pre-programmed bitmaps are installed in STT.These bitmaps may be x-y grid borders, circles, or any other delineatorcapable of providing adequate emphasis so that a user may discern theoption of set of options representing an actionable field. These mayalign with borders built into the broadcast video streams and aremodified in color and/or degree of transparency to allow visual emphasisto be associated with a single object or set of objects. The STT canmove back and forth between one set of bitmaps and another.Synchronization of a particular set of installed bitmaps to a broadcastvideo stream is achieved through signaling linked to the broadcast videostream either through in-band data delivery, out-of-band data delivery,vertical blanking interval data delivery or other approaches known tothose familiar in the art of data delivery in broadband networks.

In another embodiment of the invention, multiplexed broadcast analog ordigital video and dynamic, updateable bitmaps are used. In thisembodiment, a variety of pre-programmed bitmaps may or may not beinstalled in the STT. As in the previous embodiment, these bitmaps maybe x-y grid borders, circles, or any other delineator capable ofproviding adequate emphasis so that a user may discern the option of setor options representing an actionable field. These may align withborders built into the broadcast video streams and are modified in colorand/or degree of transparency to allow visual emphasis to be associatedwith a single object or set of objects. The STT can move back and forthbetween one set of bitmaps and another. Synchronization of a particularset of installed bitmaps to a broadcast video stream and download of newbitmaps is achieved through signaling linked to the broadcast videostream either through in-band data delivery, out-of-band data delivery,vertical blanking interval data delivery or other approaches known tothose familiar in the art of data delivery in broadband networks.

This system can further be extended to implement conditional access byarranging bitmap information in different data blocks according to typesof access allowed. Processing of this information would be performed atthe head end where a series of descriptors are developed for eachon-screen area capable of receiving emphasis. Part of the descriptorscontain entitlement “locks” mapping access entitlement to on-screenareas capable of displaying emphasis. At the STT, a series of “keys”exist that map to those channels the user is entitled to view. If one ofthe keys “fits” any of the locks, the bitmap set linked to the key mayreceive on-screen emphasis at the STT. Otherwise, the “unavailable”titles are de-emphasized such that available titles are clearlydifferentiated from those titles that are not available.

The IPG display 300A of FIG. 3A comprises a first 305A, second 305B andthird 305C time slot object, a plurality of channel content objects310-1 through 310-8, a pair of channel indicator icons 341A, 341B, avideo barker 320 (and associated audio barker), a cable system orprovider logo 315, a program description region 350, a day of the weekidentification object 331, a time of day object 339, a next time sloticon 334, a temporal increment/decrement object 332, a “favorites”filter object 335, a “movies” filter object 336, a “kids” (i.e.,juvenile) programming filter icon 337, a “sports” programming filterobject 338 and a VOD programming icon 333. It should be noted that theday of the week object 331 and next time slot icon 334 may compriseindependent objects (as depicted in FIG. 3A) or may be consideredtogether as parts of a combined object.

Additionally, to better understand the invention, FIGS. 3A-3C depictrespective display screens of the interactive program guide (IPG) of theguide of FIG. 3A with various objects (icons and/or text) emphasized.

The interactive program guide display 300A comprises a “video layer” anda “graphics layer”. In this context, the “video layer” comprises theimagery from the decoded digital video bitstream containing the videoand graphical information of the user interface. As described above withrespect to FIG. 1, video information, representative of each of theobjects (icons and text), is generated at the head end of the system,and transmitted as part of a video stream. Thus, the actual displayparameters (i.e., the size, shape, color, position and other visualparameters) associated with each object are entirely controlled at thehead end.

The modifiable, via viewer interaction, objects (icons and text) areselected by, for example, a remote control device associated with theSTT. Selecting the screen objects causes a locally stored and/or locallygenerated graphical overlay to identify the selected objects on thescreen by associating each manipulable object or element with acorresponding graphical overlay element (e.g., an x-y coordinate box orother element). An overlay element is selectively emphasized orde-emphasized (e.g., selectively shading, highlighting, coloring and thelike) via manipulation of the remote control unit.

The IPG display 300A of FIG. 3A is logically divided into twooperational regions; a guide region (the graphical region) 302 and animage region (the video region) 304. The guide region 302 comprises thetime slot objects 305, channel content objects 310-1 through 310-8 andchannel indicator icons 341 A, 341B. Channel options that are listed inthe guide region can represent any combination of programming offeredfrom a wide range of sources, including but not limited to, over-the-airbroadcast, cable broadcast, satellite broadcast, local programming, adinsertion apparatus and can include the full range of pay channels, payper view, video on demand, near video on demand, internet service,interactive gaming, interactive shopping, free programming, etc. Channelnumbers can be virtual in nature, and they can be remapped in either theset top box or the head end equipment to correspond to the service beingdelivered.

Delivery of pay per view (PPV), near video on demand (NVOD), video ondemand (VOD), interactive gaming, interactive shopping, internet, videoclassified ads, and other services can be integrated into this system ina two-way cable environment through the use of cable modem technologiesor other back-channel methods known to those familiar in the art ofenabling such services in a network environment. This guide region mayfurther be used to provide access to pay television services such assubscription services like HBO®, Showtime®, etc., in a two-way cableenvironment through the use of cable modem technologies or otherback-channel methods known to those familiar in the art of enabling suchservices in a network environment.

The image region 304 comprises the remaining objects that are delineatedabove. When a user or viewer is interacting with the program guide ofthe present invention, only one of these two regions will be active atany one time. Some keys or controls utilized by a viewer to control theIPG will operate differently, depending upon which region is active. Theoperational differences between the two regions will be described inmore detail below.

Referring to the guide region 302 of FIG. 3A, it can be seen that thefirst time slot 305A is emphasized by a time slot highlighting object305H. The slot 305A is emphasized with respect to the other time slots305B and 305C, which can be said to be de-emphasized. The slot 305A canbe emphasized by highlighting the slot using a colored highlightingoverlay graphic 305H, or the highlighting graphic may provide a 0%opacity window (a transparent window) through which the slot text 305Acan be seen and the others slots may be overlaid with a graphic havingan opacity that is more than 0%, e.g., 25, 50 or 75 percent opacity. Thelevel of opacity is selected to facilitate clear emphasis of theselected time slot by muting the intensity of the un-selected slots.Similarly, it can be seen that each respective first title object 311Aof each of the plurality of channel content objects 310-1 through 310-8is also emphasized or highlighted by a title highlighting object 311H.Time slot emphasis is coordinated with title slot emphasis. That is, ifthe first time slot object 305A is emphasized or highlighted, then thefirst title object 311A of each of the plurality of channel contentobjects 310-1 through 310-8 is also emphasized or highlighted.Similarly, if the second time slot object 305B is emphasized orhighlighted as in FIG. 3B, then the second title object 311B of each ofthe plurality of channel content objects 310-1 through 310-8 is alsoemphasized or highlighted. Lastly, if the third time slot 305C isemphasized as shown in FIG. 3C, then the third title objects 311C areemphasized or highlighted. This coordinated highlighting or emphasizingof time slot 305 and title 311 objects assists the viewer in determiningwhich titles within the respective channel content objects 310-1 through310-8 are associated with which time slot.

Alternatively, the coordinated emphasis or highlighting of time slot andtitle objects is accomplished by using the graphics layer to adjust acolor, brightness or other attributes of an object, or display areasurrounding the object. For example, an x-y coordinate grid (arectangular cell) or other shape surrounding an object to be highlightedor emphasized may be changed in color or brightness level such that thesurrounded or proximate object is emphasized. Similarly, an x-ycoordinate grid or other shape surrounding an object to benon-highlighted or de-emphasized may be changed in color or brightnesslevel such that the surrounded or proximate object is de-emphasized.

In a system comprising 80 channels of information, where channels aredisplayed in 8-channel groups having associated with them three halfhour time slots, it is necessary to provide 10 video PIDs to carry thepresent-time channel/time/title information, one audio PID to carry theaudio barker and/or a data PID (or other data transport method) to carrythe program description data, overlay data and the like. To broadcastprogram information up to 24 hours in advance, it is necessary toprovide 128 (8*24/1.5) video PIDS, along with one audio and, optionally,one or more data PIDs. The amount of time provided for in broadcastvideo PIDs for the given channel groups comprises the time depth of theprogram guide, while the number of channels available through the guide(compared to the number of channels in the system) provides the channeldepth of the program guide. In a system providing only half of theavailable channels via broadcast video PIDs, the channel depth is saidto be 50%. In a system providing 12 hours of time slot “look-ahead,” thetime depth is said to be 12 hours. In a system providing 16 hours oftime slot “look-ahead” and 4 hours of time slot “look-back,” the timedepth is said to be +16/−4 hours.

The program description region 350 of the image region 304 is used todisplay a description of a presently indicated (emphasized) title. Thedescription comprises, illustratively, one or more of a brief textualdescription of the title, title start and end times, title run time,title ratings (e.g., MPAA or other ratings), title reviews (e.g.,“thumbs-up” or “thumbs-down” or other qualitative indicia), ranking oftitle in comparison to other titles (e.g., popularity, aggregatedpositive or negative viewer feedback) and the like.

The pair of channel indicator icons 341A, 341B (or a single channelindicator icons 341A or 341B) is used to indicate which of the pluralityof channel content objects 310-1 through 310-8 includes a highlighted oremphasized title object 311 having associated with it title descriptionwithin the program description icon 350. That is, the channel indicatoricons 341A, 341B provide a visual indication of a presently indicatedchannel to the viewer.

It is important to note that the video barker 320 of FIG. 3A is, itself,an object that may be selected in some embodiments of the invention.Specifically, in such an embodiment where the video barker 320 is usedto present a movie trailer, selection of the video barker object 320 bythe user implies a desire to view that movie in, e.g., a video-on-demandcontext. Thus, in an embodiment of the invention where the video barkercomprises an active or selectable object, selection of the video barkerbrings the user to a video-on-demand interaction screen where the useris provided the opportunity to purchase the movie presented in the videobarker. Similarly, where the video barker is used to present merchandiseor other products and/or services for sale, selection of the videobarker results in the user being brought to an interaction screensuitable for fulfilling a user's desire to purchase or shop for suchgoods and/or services (e.g., an advertisement from a store is associatedwith a virtual mall, an advertisement for a restaurant is associatedwith a food coupon retrieval system, either virtual or via regular mailafter entering a name and address).

Referring to FIG. 3B the second channel 310-2, which is indicated by thechannel icons 341A and 341B, includes a second title 311B that isassociated with the highlighted or emphasized second time slot 305B. Inone embodiment of the invention, selecting this title (i.e., pressingthe “select” key when the guide region is active) which is to bepresented in the future, results in the user being transferred to apreview screen depicting a preview of the selected title. For example,in the case of the selected title being a television sitcom to bebroadcast in, e.g., 20 minutes from the present time, selecting thattitle results in the display of a preview information screen related tothe sitcom. Similarly, in the case of the selected title being a boxingmatch or other sporting event, usually associated with a pre-game showor pre-fight program of some sort on one or more channels, the user isdisplayed a screen in which he or she may select which of thesepre-event programs to view. Alternatively, the viewer is displayed ascreen describing the upcoming fight.

When the guide region 302 is active, user manipulations of left or rightarrow keys on, e.g., a remote control device, result in a change in thehighlighted or emphasized time slot; while user manipulations of up ordown arrow keys result in a change in the indicated channel. In the caseof a change in time slot or channel indication, contents of the titledescription information, which is displayed in the program descriptionregion 350, is also changed. The guide region 302 becomes inactive andthe image region 304 becomes active when the user utilizes the left orright arrow keys to highlight or emphasize an object within the imageregion (i.e., icons 331-339).

As noted above, the video streams for the IPG display may be included asa PES within a single transport stream. Thus, a user desiring to viewthe next 1.5 hour time interval (e.g., 9:30-11:00) may activate a“scroll right” object (or move the joystick to the right when a programwithin program grid 302 occupies the final displayed time interval).Such activation will result in the controller of the STT noting that anew time interval is desired. The video stream corresponding to the newtime interval will then be decoded and displayed. If the correspondingvideo stream is within the same transport stream (i.e., a new PID), thenthe stream will be immediately decoded and presented. If thecorresponding video stream is within a different transport stream, thenthe different transport stream will be extracted from the broadcaststream and the appropriate video stream will be decoded and presented.If the corresponding transport stream is within a different broadcaststream, then the different broadcast stream will be tuned, the differenttransport stream will be extracted from the different broadcast streamand the appropriate video stream will be decoded and presented.

It is important to note that each extracted video stream is associatedwith a common audio stream. Thus, the video/audio barker function of theprogram guide is continuously provided, regardless of the selected videostream.

Similarly, a user interaction resulting in a prior time interval or adifferent set of channels results in the retrieval and presentation ofan appropriate video stream. If the appropriate video stream is notnormally part of the broadcast video streams, then a pointcast sessionis initiated. That is, the STT sends a request to the head end via theback channel requesting a particular stream. The head end processes therequest, retrieves the appropriate stream from the information server,incorporates the stream within a transport stream as a video PID(ideally the transport stream currently being tuned/selected by the STT)and informs the STT which PID should be demultiplexed, and from whichtransport stream it should be demultiplexed. The STT then retrieves theappropriate video PID. In the case of the appropriate video PID beingwithin a different transport stream, the STT must first demultiplex thedifferent transport stream (possibly even tuning a different QAM streamwithin the forward channel).

Upon completion of the viewing of the appropriate stream, the STTindicates to the head end that the STT no longer needs the stream,whereupon the head end tears down the pointcast session.

FIG. 4 shows an IPG display 400 illustrating the user interface in thenext time slot, which is 9:30 to 11:00 PM. The next time slot object 334in FIG. 3A indicates 9:30 PM as each time slot in the exemplaryembodiment comprises one and a half hour time interval. Upon viewerselection of object 334 in FIG. 3A, the time slot in the guide region302 changes to 9:30 PM to 11:00 PM. Therefore, the time slot objects305A, 305B and 305C in FIG. 4 indicate 9:30, 10:00, and 10:30,respectively. The next time slot object 334 also changes and indicates11:00 PM in FIG. 4.

When the image region 304 is active, activations of up or down arrows bya user via a remote control device results in incrementing anddecrementing the indicated next time slot. Upon receiving a selectcommand, the video PID including the channel information for the timeindicated by the selected next time slot object 334 is retrieved. In thecase of that video stream being part of a currently broadcast orcurrently used video stream (e.g., another user had requested thisstream), the head end provides information to the set top terminalenabling the set top terminal to identify the video PID including theappropriate channel guide information. The set top terminal thenretrieves the appropriate video PID. If the selected video PID islocated in a different transport stream, then the audio PID is alsoretrieved from the new transport stream.

This process of moving from one program guide page to another isdepicted in FIGS. 5A-5C. FIG. 5A depicts a flow diagram 500Aillustrating contextual changes in the IPG display screen 300A inresponse to horizontal increment and decrement (right/left) commands,such as right arrow and left arrow key activations from, e.g., a remotecontrol. Each of the objects depicted in the contextual flow diagramcomprises a video object having associated with it a graphical overlayproviding emphasis to indicate an active (i.e., selectable) object orde-emphasis to indicate a non-active object (i.e., non-selectable).

The objects depicted in the flow diagram 500A of FIG. 5A comprise asubset of the objects shown in the IPG display screen 300A of FIG. 3A.Specifically, the objects depicted in the contextual flow diagram 500Aof FIG. 5A comprise, in the order of emphasis in response to a rightarrow or horizontal increment: the first 305A, second 305B and third305C time slot objects of the IPG display screen guide region. Theseobjects are followed by the following IPG display screen image regionobjects: day of week identification object 331, next time slot object334, “favorites” filter object 335, “movies” filter object 336, a “kids”filter object 337 “sports” filter object 338 and VOD user interfaceobject 338. It should be noted that while the objects depicted in thecontextual flow diagram 500A comprise objects depicted in the IPGdisplay screen 300, other IPG display screens may be adaptedaccordingly.

For purposes of this discussion it is assumed that the first object tobe highlighted or emphasized is the first time slot object 305A.Referring to FIG. 5A, in response to a first right arrow or horizontalincrement 501, the first time slot object 305A is de-emphasized and thesecond time slot object 305B is emphasized; in response to a secondright arrow or horizontal increment 502, the second time slot object305B is de-emphasized and the third time slot object 305C is emphasized;in response to a third right arrow or horizontal increment 503, thethird time slot object 305C is de-emphasized and the day of weekidentification object 331 is emphasized, and so on for the (504) nexttime slot object 334; (505) “favorites” object 335; (506) “movies”selection object 336; (507) “kids” selection object 337; (508) “sports”selection object 338; (509) “VOD” selection object 436 and, finally, isreturned to the (610) first time slot object 305A.

The graphical representation of FIG. 3A is divided into guide regionobjects (the three timeslots 305A-305C) and image region objects (theremaining objects 331-338). The functionality of vertical increment (uparrow), vertical decrement (down arrow), page up, and page down dependsupon which region is activated. The differences between guide region andimage region key functionality will be discussed in more detail belowwith respect to FIG. 5B and FIG. 5C.

When the guide region is active (any of objects 305A-305C emphasized),the up and down arrow keys are used to scroll through the variousportions of the guide region. That is, the channel content object number(310-1 through 310-8) is changed by one (i.e., incremented ordecremented) in response to up arrow or down arrow activation.Similarly, the displayed video stream is changed (via selecting the nextor prior video PID) in response to page up or page down key activation.Thus, active guide region functionality provides for navigation of thevarious video streams providing broadcast IPG screens to a user.

When the image region is active (any of objects 331-338 emphasized), theup and down arrow keys are used to change the next time slot object 334,while the page up and page down keys are used to change the day of weekidentification object 331. Specifically in response to an up arrow keyactivation, the next time slot object 334 is incremented by, e.g., 1.5hours by selecting the video PID including the guide information for thenext three time slot objects of the current channels presented in theguide region. Similarly, in response to a page up key activation, theday of week identification object 331 is incremented by 1 day byselecting the video PID including the guide information for the next dayof the current channels presented in the guide region.

FIG. 5B depicts a contextual flow diagram to illustrate the changes inthe IPG display screen 300A in response to vertical increment anddecrement (up/down) commands received while a guide region object ishighlighted or emphasized.

The objects depicted in the contextual flow diagram 500B of FIG. 5Bcomprise a subset of the objects shown in the IPG display screen 300 ofFIG. 3. Specifically, the objects depicted in the contextual flowdiagram 500B of FIG. 5B comprise the channel content object 310-1through 310-8 as indicated by the channel indicator objects 341A and/or341B. In response to successive down arrow or vertical decrement keyactivations, the indicated channel content object traverses from 310-1to 310-2 (520); 310-2 to 310-3 (521); 310-3 to 310-4 (522); 310-4 to310-5 (523); 310-5 to 310-6 (524); 310-6 to 310-7 (525) and 310-7 to310-8 (526). Similarly, activating an up arrow or vertical increment keychanges the indicated channel in the reverse order.

In response to a down arrow activation while channel object 310-8 isindicated, the “next” video PID is selected for display. That is, thevideo PID containing the next eight channels to be displayed for thecurrently viewed time slot is selected. If the last eight channels arepresently being displayed, then the video PID associated with the firsteight channels is selected (i.e., channel “roll-over”). In the case ofthe “next” video PID being part of a different transport stream, therelated transport stream is retrieved and the appropriate video PID andthe associated audio and data PIDs are extracted.

In response to an up arrow activation while channel object 310-1 isindicated, the “prior” video PID is selected for display. That is, thevideo PID containing the prior eight channels to be displayed for thecurrently viewed time slot is selected. If the first eight channels arepresently being displayed, than the video PID associated with the lasteight channels is selected (i.e., channel “roll-under”) In the case ofthe “prior” video PID being part of a different transport stream, therelated transport stream is retrieved and the appropriate video PID andthe associated audio and data PIDs are extracted.

FIG. 5C depicts a contextual flow diagram to illustrate the changes inthe IPG display screen 300A in response to vertical increment anddecrement (up/down) commands received while an image region object ishighlighted or emphasized.

The object depicted in the contextual flow diagram 500C of FIG. 5Ccomprises the next time slot object 334 shown in the IPG display screen300A of FIG. 3A. Specifically, when an image region object is activated,the next time slot object 334 is incremented or decremented in responseto, respectively, an up arrow or vertical increment key activation and adown arrow or vertical decrement key activation. In the exemplaryembodiment, the next time slot object 334 is delineated in 1.5 hourintervals (i.e., the time slot following the three time slots 305A, 305Band 305C of the guide region) for a 24 hour period.

In one embodiment of the invention, the operations described in thecontextual flow diagram 5C only occur if the next time slot object 334or a combined object comprising the day object 331 and next time slotobject 334 are highlighted or emphasized. In another embodiment of theinvention, the operations described in the contextual flow diagram 5Coccur when any image regions object is highlighted or emphasized.

In response to successive up arrow or vertical increment keyactivations, the indicated next time slot object traverses from theactual (with respect to the present time) next time slot (551) to a nexttime slot+3 (552) via path 5512; a next time slot+6 (553) via path 5523;a next time slot+9 (554) via path 5534 and so on up to a next timeslot+21 (558) via path 5578. An additional up arrow or verticalincrement key activation results, in the present embodiment, in a returnto the next time slot (551) via path 5581. Similarly, activating a downarrow or vertical decrement key changes the indicated next time slotobject in the reverse manner, except for one case. Specifically, in thecase of activating a down arrow or vertical decrement key when the nexttime slot (551) is indicated, the system enters a time shift mode 556via path 5516.

FIG. 6A depicts a second embodiment of a user interface in accordancewith the present invention. The first time slot 305A is emphasized andthat only the first title object 311A within each of the channel contentobjects 310 is shown. That is, only the title object associated with theemphasized time slot is “revealed,” while the title objects associatedwith the non-emphasized time slots are “masked.” This “mask and reveal”method of presentation provides an IPG display that some viewers findmore desirable than the previously described (with respect to FIGS.3A-3C) muting or reduced opacity de-emphasis method of presentation.However, the muting or reduced opacity de-emphasis method ofpresentation does present more information to the viewer in each IPGdisplay.

Referring simultaneously to FIGS. 6A through 6C, FIG. 6A depicts an IPGdisplay 600A having the first time slot 305A emphasized and each of thetitle objects 311A associated with the first time slot being revealed,while each of the title objects 311B, 311C associated with thenon-emphasized time slots 305B and 305C are masked (hidden). In FIG. 6A,the first time slot object 305A is emphasized, and the second and thirdtime slots 305B and 305C are de-emphasized; in FIG. 6B the second timeslot object 305B is emphasized, while the first and third time slotobjects 305A and 305C are de-emphasized; and in FIG. 6C the third timeslot object 305C is emphasized while the first and second time slotobjects 305A and 305B are de-emphasized. Note that in all cases theoperation of the title description object 350 remains unchanged, as doesthe operation of the video barker 320 and all the other functionalelements of the program guide. By using the mask and reveal technique,the irrelevant information in the IPG is effectively removed to simplifythe user interface. When the user has previously defined certainprograms as favorites, the subsequent selection of the “favorites” icon335 masks all non-favorite programming. Similarly, selecting the“sports” icon 338 masks all non-sports programming.

FIGS. 7A and 7B together as FIG. 7 comprise a user interaction method700 according to the invention. FIG. 7B also depicts a diagramrepresenting an alignment between FIG. 7A and FIG. 7B. FIG. 7 depicts auser interaction routine 700 according to the invention. The routine 700is entered at step 702, when the subscriber equipment is initiallypowered on or initialized. The routine then proceeds to step 704, thefirst or default stream is tuned and demodulated. The routine 700 thenproceeds to step 706, the first or default video stream and associateaudio stream is demultiplexed and displayed. The routine 700 thenproceeds to step 708, where an appropriate overlay is retrieved anddisplayed along with the displayed or presented video stream. Theroutine 700 then proceeds to step 710, where the STT waits for userinput via, e.g., remote control device 280. Upon receipt of user input,the routine proceeds to step 712 to evaluate the input. The routine 700then proceeds to step 714, where a query is made as to whether the userinteraction abstraction level is contextual, i.e., the contextual IPGchanges that requires information to be sent from head end orlocal/contextual that carries interaction processes both locally at STTand request information from head end.

If the query at step 714 indicates that a contextual change is requestedby the viewer, then the method 700 proceeds to step 716, where a queryis made for the pressed key type. If a RETURN key is pressed, thealgorithm proceeds to 718, where the system reacquires the previouscontext. For example, the viewer may have previously been viewing amovie preview and, at the end of the preview, the viewer has beenreturned to the IPG context. If the viewer then presses the RETURN key,he or she is returned to the previous context and the movie preview isre-displayed. At the end of the requested context presentation, themethod 700 returns to step 710.

If, at step 716, the viewer presses a SELECT key to select a presentlyemphasized or highlighted object, the method 700 proceeds to step 720where the context is identified as being changed. At step 722, the newcontext functions are performed. For example, the user may havehighlighted and then selected the “video-on-demand” icon. Such aselection will cause the system to enter the video-on-demand (VOD)context. In this context, the STT is sent a VOD navigator in a pointcastmanner to enable the user to select a movie to view. Other contextchanges result when the viewer selects the video barker, any of theprograms in the guide region of the IPG display, and the like. Barkerselection causes the system to enter a barker defined context, i.e., amovie, if the barker was displaying a movie preview; a sales page, ifthe barker was advertising a product; and so on. The selection of aprogram available for viewing in the current time frame causes thesystem to send the program video to the STT's either as pointcast orbroadcast stream. The stream type depends upon the program selection.The selection of a program listed in an upcoming time slot results indisplay of a preview of the selected program.

It should be noted that in one embodiment of the invention, the head endcauses multiple STTs to “share” a pointcast stream. That is, if a firstSTT request a video stream that is currently being provided to a secondSTT, the head end will guide the first STT to the PID and (optionally)transport stream providing the video stream to the second STT. If thesecond STT indicates to the head end that it is finished viewing thevideo stream, the head end determines if another STT (i.e., the firstSTT) is still utilizing the video stream. If the stream is still beingutilized, the pointcast session is not torn down (at least not withrespect to the STT(s) utilizing the video stream). In this manner,forward channel bandwidth and head end video processing resources areconserved.

Sharing of pointcast streams is especially useful within the IPG displaycontext where relatively low channel depth and/or time depth is used. Insuch a case, it is quite likely that several users will want tocontemporaneously view information that may be packaged within the samevideo stream. Thus, an adaptive narrowcast (or group pointcast) systemis provided, wherein the head end is able to adapt resource allocationto the sub-set of users exhibiting a coordinated need for information.These adaptive narrowcast session are created and torn down as necessaryin response to changing user demand. In the event of a very high levelof utilization streams associated with a particular channel group(s) ortime slots, the head end may determine that the processing, memory andbandwidth resources required to create, manage and tear down thenarrowcast of such streams is greater than the resources required tosimply provide such streams as broadcast streams. in one embodiment ofthe invention the head end will adapt the depth of the broadcast streamto accommodate the high utilization stream(s). This accommodation doesnot require the addition of contiguous channel groups or time slots,only the addition of PIDs allocate to the high utilization stream(s).

If the query at step 714 indicates that local interactivity is requestedby the user, then the method 700 proceeds to step 740, where a query ismade to identify the type of key pressed by the user. If the query atstep 740 indicates that a freeze key has been pressed, then the method700 proceeds to step 734, where the video frame presently stored in theframe store unit 262 is frozen. That is, the frame store unit 262 is notupdated by subsequent video frames until such time as a freeze key orother key is pressed. The method 700 then proceeds to step 710, wherethe processor waits for user input.

If the query at step 714 indicates that one of an increment or decrementkey has been pressed (e.g., a channel indication increment or decrementcommand), then the method proceeds to step 744. If the query at step 740indicates that one of the page up or page down keys has been depressed,then the method 700 proceeds to step 742.

At step 742, a query is made to determine whether the page up key hasbeen pressed. If this is the case, then the method 700 proceeds to step732. Then, a query is made at step 732 to determine whether the PIDbeing viewed is the first PID in the transport stream. If this is thecase, then, depending on the organization of the video PID's in a singleor multiple transport streams, either it is tuned to the previousbroadcast stream or it is wrapped around to the last video PID in thesame transport stream. If the query at step 732 reveals that the PID isbeing viewed is not the first PID in the transport stream, then theprevious video PID in the same transport stream is demultiplexed anddisplayed. If the query at 742 indicates that a page down key has beenpressed, then the method 700 proceeds to step 726. Then, a query is madeat step 726 to determine whether the PID being viewed is the last PID inthe transport stream. If this is the case, then, depending on theorganization of video PID's in a single or multiple transport streams,either it is tuned to next broadcast transport stream or it is wrappedaround to the first video PID in the same transport stream. If the queryat step 726 reveals that the PID being viewed is not the last PID in thetransport stream, then the next video PID in the same transport streamis demultiplexed and displayed.

At step 744 a query is made as to whether an increment key has beenpressed. If the query at step 744 is answered affirmatively, then themethod 700 proceeds to step 746. If the query at step 744 is answerednegatively (i.e., a decrement key has been pressed), then the method 700proceeds to step 748.

At step 746, a query is made as to whether the upper most channel of theprogram guide (i.e., channel content object 310-1) is presentlyindicated by channel icons 341A and 341B. If the query at step 746 isanswered affirmatively, then the method 700 proceeds to step 732 andcontinues as described above with respect to step 732. If the query atstep 746 is answered negatively, then the method 700 proceeds to step750.

At step 750 a query is made as to whether an upper threshold level hasbeen reached. An upper threshold level is a pre-set channel number (inthe group of channels of an IPG page) at which a request for a priorchannel PID should be made if such a prior channel PID is unavailable.If the query at step 750 is affirmatively answered, then the method 700proceeds to step 754. If the query at step 750 is negatively answered,then the method 700 proceeds to step 758.

At step 754, a determination is made as to whether the prior channelgroup is available. An available channel group is a channel group withina video stream that is presently being broadcast or narrow cast orpointcast to one or more set top terminals. As previously noted, the settop terminal receives information associating each channel group with aparticular video stream as identified by a unique PID. If the uniquePID, or the stream associated with the unique PID is not beingbroadcast, narrow cast or pointcast, then it is appropriate at this timeto request that the head end begin a pointcast session so that the priorchannel group can be received by the set top terminal without unduedelay (e.g., without the user experiencing latency due to the amount oftime required to process and respond to a request for a video stream).If the query at step 754 is answered negatively, then the method 700proceeds to step 756, where a request for the prior channel group issent to the head end for processing. The method then proceeds to step756. If the query at step 754 is answered affirmatively, then the methodproceeds to 758.

At step 758, the channel indicator is moved up by one channel contentobject 310. That is, the channel content object immediately above thepresently indicated channel content object is now indicated. The method700 then proceeds to step 710, to wait for the next user input.

If the query at step 744 is negatively answered, then the method 700then proceeds to 748. At step 748, a query is made as to whether thepresently indicated channel is the last lower channel. That is, a queryis made as to whether the presently indicated channel is channel contentobject 310-8, in FIG. 3A. If the query at step 748 is answeredaffirmatively, then the method 700 proceeds to step 726. It is importantto note that if the presently indicated channel is associated withchannel content object 310-8, then a decrement command, as noted abovewith respect to FIG. 5B and path 532 requires the selection of the nextchannel PID to display the upper most channel of the next channel group(i.e., channel content object 310-1 of the next channel group). If thequery at step 748 is answered negatively, then the method 700 precedesto step 760.

At step 760 a query is made as to whether a lower threshold has beenreached. If the query at step 760 is answered negatively, then themethod 700 proceeds to step 768. If the query at step 760 is answeredaffirmatively, then the method 700 proceeds to step 762.

At step 762 a determination is made if the next channel group isavailable. This is, in a manner similar to that described above withrespect to step 752, a determination is made if a presently broadcast,narrowcast or pointcast stream includes an IPG guide display includinginformation related to the next channel group. The method 700 thenproceeds to step 764.

At step 764 a query is made as to whether the next channel group is infact available. If the query at step 764 is answered affirmatively, thenthe method 700 proceeds to step 768. If the query at step 764 isanswered negatively, then the method 700 proceeds to step 766.

At step 766, a request is made by the set top terminal to the head endfor the head end to send information associated with the next channelgroup (i.e., the guide and image portions of the IPG display includingthe next channel group, or alternatively, a previously stored videoscreen including the appropriate information). As previously noted, byrequesting such information at this point the apparent latency of thesystem, as experienced by the user, is greatly reduced. The method 700then proceeds to step 768.

At step 768 channel icons 341A and 341B are decremented or moved down byone channel content object 310. The method 700 then proceeds to step710, where it waits for user input.

FIG. 8 depicts third embodiment of an interactive program guide (IPG)800 according to the invention. Specifically, the exemplary interactiveprogram guide screen 800 comprises a time of day/date (TOD) indicator805, a promotional “splash” icon 810, a cable system or provider logo815, a video barker 820 (and associated audio barker), a program timeindicator 825, a channel number indicator 830, a channel identifier(text or logo) 835, a pair of channel display decrement icons 840 a and840 b, a pair of channel display increment icons 845 a and 845 b, atemporal increment icon 848, a temporal decrement icon 847, a programgrid 850 and a scrolling promotional banner 855. The interactive programguide display 800 is displayed on a television screen or other videopresentation device in, e.g., the home of a subscriber to a cabletelevision or other information distribution system utilizing theinteractive electronic program guide.

FIG. 12 depicts a tabular representation of the functions of variouskeys on an input device, such as a remote control, during guide regionand image region operation. The functions of some of the depicted keyshave been described above and, therefore, will not be additionallydiscussed. Specifically, FIG. 12 depicts the guide region and imageregion functionality of the increment (up arrow), decrement (down arrow)page up, page down, horizontal increment (move right), horizontaldecrement (move left) select and add/remove keys. The Select key is usedto select a highlighted or emphasized object to, e.g., enter a differentoperating mode (image region response) of tune an indicated channel(guide region response). The add/remove key is used to add a presentlytuned channel to the list of favorites. If the presently tuned channelis already on the list, then the channel is removed form the list offavorites. Optionally, the viewer is queried as to whether the viewerreally intends to remove the channel from the favorites list.

FIG. 8 depicts third embodiment of a display screen of an interactiveprogram guide (IPG) 800 that is formed in a manner similar to thatdescribed above with respect to the IPG display 300 of FIG. 3. Theprimary differences between the IPG displays of FIG. 8 and FIG. 3A areas follows:

-   -   1. The IPG display 300 shows only the programs at a specified        time interval, such as 8:30 to 9 PM, whereas display 800 shows        the complete time interval.    -   2. The IPG display 300 does not contain grid structure to show        the program versus time interval information. It is a completely        unique user interface design.    -   3. The IPG display 800 of FIG. 8 utilizes a program grid 850 to        present programming information, whereas the IPG display 300 of        FIG. 3A utilizes an enhanced “mask and reveal” technique to        present more information to a viewer while reducing the amount        of display clutter experienced by the viewer in navigating        through the available programming choices. Only the desired        programs are shown.    -   4. the IPG display 300 of FIG. 3A includes a program description        object 350 that is used to display, illustratively, a brief        textual description of a program occupying a presently indicated        time slot of a presently indicated channel.        In addition to these differences, there can be found many other        ones to differentiate the ,two user interfaces. However, the        supporting system is designed to produce either of these        interfaces.

Upon receiving a “select” entry from the remote control unit, the settop terminal transmits, via a back channel or some other communicationspath, the information that identifies the selected object to the headend. It is important to note that, as with the mask and revealtechnique, changing the emphasis of an object or element is performedentirely at a local level within the STT. That is, there is no change inthe actual video information transmitted by the head end to thesubscriber. Only the graphical overlay layer on the display is changedwithin the STT to facilitate object emphasis.

The interactive program guide display 800 (i.e., the video layerprovided by the head end) depicts a program offering of 10 channelswithin a 1.5 hour time interval. Since there are 24 hours in a day, 16video streams (each representing one program guide screen) are requiredto depict 24 hours of program offerings of 10 channels. These 16 videostreams may be included within a single transport stream. Thus, a userdesiring to view the next 1.5 hour time interval (e.g., 9:30-11:00) mayactivate a “scroll right” object (or move the joystick to the right whena program within the program grid 850 occupies the final displayed timeinterval). Such activation will result in the controller of the STTnoting that a new time interval is desired. The digital video streamcorresponding to the new time interval will then be decoded anddisplayed, i.e., the STT selects the bitstream within the transportstream that represents the desired program guide and decodes thatbitstream. The process for selecting and decoding a bitstream isaccomplished in the same manner as described above.

FIGS. 10 and 11 are graphical depictions of two different program guidelayout formats. FIG. 10 depicts a program guide screen comprising ahorizontally disposed guide region 1010 occupying a large portion of alower half of the IPG screen 1001, and a video barker or image portion1020 occupying a portion of the top half of the screen 1001. FIG. 11depicts a program guide screen comprising a horizontally disposed guideregion 1110 occupying a large portion of a lower half of the IPG screen1102, and a video barker or image portion 1120 occupying a portion ofthe top half of the screen 1102.

The foregoing description details three layouts for a user interface,however, any user interface layout that can be produced in a head end asa digital video bitstream and sent to a user is considered to be withinthe scope of the invention. As a further example, the informationalvideo could be a program that is being watched and the graphical imagerycould be an HTML page that is associated with the program. The programvideo could also be contained in the IPG display such that the viewercan continue watching a program while browsing the IPG for other programscheduling information.

Although various embodiments which incorporate the teachings of thepresent invention have been shown and described in detail herein, thoseskilled in the art can readily devise many other varied embodiments thatstill incorporate these teachings.

1. A method of generating an interactive user interface comprising:generating, within a head end of an information distribution system, aplurality of bitstreams that each represent a separate portion of videoimagery associated with an encoded user interface, each at saidbitstreams including a respective user interface page comprising acommon moving image region and a separate graphical region having videoimagery associated with user selectable objects; and broadcasting saidplurality of bitstreams so as to send the interactive user interface toa subscriber; said user interface being adapted for use by thesubscriber to selectively present said common moving image region and aseparate graphical region of a bitstream of said plurality ofbitstreams.
 2. The method of claim 1, wherein said generating stepfurther comprises: producing a plurality of video signals representingsaid user interface pages; encoding said plurality of video signals toproduce said plurality of bitstreams; and modulating said plurality ofbitstreams into a format for transmission.
 3. The method of claim 2further comprising the step of assigning a respective bitstreamidentifier value to each of said plurality of bitstreams.
 4. The methodof claim 1 wherein said generating step further comprises: arrangingsaid plurality of bitetreams into at feast one transport stream; andmodulating said at least one transport stream into a format fortransmission.
 5. The method of claim 4 wherein said at least onetransport stream comprises a system stream that contains a plurality oftransport streams.
 6. The method of claim 1 further comprising:receiving an indication of the selection of an object within a presenteduser interface; end causing an event to occur within said head end inresponse to said signal.
 7. The method of claim 6 wherein said event isat least one of causing the tuning of subscriber equipment to an analogchannel, causing the tuning of said subscriber equipment to a digitalchannel, and causing a subscriber equipment event to occur.
 8. A methodof using an interactive user interface comprising: receiving a transportstream that contains a plurality of bitstreams representing a respectiveplurality of encoded user interface pages, each page comprising a commonmoving image region and a separate graphical region; extracting fromsaid transport stream a first selected bitstream of said plurality ofbitstreams; decoding and presenting said selected bitstream to produce acorresponding first user interface page having a common moving imageregion and a separate graphical region; selecting, in said first userinterface page, an object that identifies a second bitstream of saidplurality of bitstreams; and decoding said second selected bitstreamwithout resetting a buffer in a decoder.
 9. The method of claim 8further comprising: producing an overlay graphic for selectivelyemphasizing objects within said presented user interface page.
 10. Themethod of claim 9 further comprising: selecting an emphasized object tochange the context of the system from a user interface context to analternate context.
 11. The method of claim 10 wherein said alternatecontext comprises one of a pay per view movie context, a broadcasttelevision context, a preview context and an electronic commercecontext.
 12. The method of claim 10 wherein changing the context causesthe decoder to extract for decoding a bitstream of said plurality ofbitstreams that is associated with said alternate context.
 13. Themethod of claim 10 further comprising decoding and presenting an audiobitstream associated with said common moving image region.
 14. Themethod of claim 13 wherein said audio is presented continuously duringtransitions between user interface pages.
 15. The method of claim 8,wherein: each user interface page is encoded using slice based encodingwherein each of said common moving image region and respective graphicalregions are represented by respective pluralities of encoded slices.